#include "Globals.h"


std::atomic<ButtonState> buttonState_Poweroff(IDLE);
std::chrono::steady_clock::time_point pressStartTime;
int improve_dB = 0; // dB单位
float improve_gain = 1; // 线性单位
std::mutex gpio_mutex;  // 保护共享资源


DeepCMP deepcmp; // 初始化模型
std::vector<std::vector<float>> mel_filter_bank; // MEL滤波器组
std::vector<std::vector<float>> mel_spectrogram; // 得到的中间MEL谱参数
std::vector<float> Input_RKNN(SAMPLE_RATE*1); // 输入1s的数据
std::atomic<size_t> current_write_pos{0}; // 当前写入的位置
std::atomic<int> Is_RKNN_Flag; // 是否可以/正在进行RKNN模型推理，0--没有，此时可以在主程序装载数据,1--正在，主程序不装载数据
int Env_Class; // 声场类型0--干净语音,1--音乐,2--噪声,3--含噪语音
std::atomic<int> Env_Class_Global{0}; // 声场类型0--干净语音,1--音乐,2--噪声,3--含噪语音